package com.joker.aigc.oj.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.joker.aigc.oj.domain.dto.problemsubmit.ProblemSubmitAddDTO;
import com.joker.aigc.oj.domain.dto.problemsubmit.ProblemSubmitQueryRequest;
import com.joker.aigc.oj.domain.entity.ProblemSubmit;
import com.joker.aigc.domain.entity.User;
import com.joker.aigc.oj.domain.vo.problemsubmit.ProblemSubmitVO;
import com.joker.aigc.oj.domain.vo.problemsubmit.SubmitSummaryVo;


/**
* @author Antares
* @description 针对表【question_submit(题目提交)】的数据库操作Service
* @createDate 2023-08-24 10:36:35
*/
public interface ProblemSubmitService extends IService<ProblemSubmit> {

    ProblemSubmit doProblemSubmit(ProblemSubmitAddDTO problemSubmitAddDTO, User currentUser);

    /**
     * 根据查询条件，查询提交信息
     * @param problemSubmitQueryRequest
     * @return
     */
    Page<ProblemSubmitVO> listProblemSubmitVoByPage(ProblemSubmitQueryRequest problemSubmitQueryRequest);

    /**
     * 根据查询条件，查询提交信息
     * @param problemSubmitQueryRequest
     * @return
     */
    Page<ProblemSubmitVO> listProblemSubmitVoByUserId(ProblemSubmitQueryRequest problemSubmitQueryRequest);

    /**
     * 获取提交信息。
     * @param id
     * @return
     */
    SubmitSummaryVo getSubmitSummary(Long id);
}
